﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Urgencias.Modelo
{
    class Pago
    {
        private int numeroBoleta;

        public int NumeroBoleta
        {
            get { return numeroBoleta; }
            set { numeroBoleta = value; }
        }
        private DateTime fechaPago;

        public DateTime FechaPago
        {
            get { return fechaPago; }
            set { fechaPago = value; }
        }
        private decimal monto;

        public decimal Monto
        {
            get { return monto; }
            set { monto = value; }
        }

        public System.Collections.Generic.List<ConsultaMedica> consultasMedicas;

        /// <summary>
        /// Property for collection of AtencionMedica
        /// </summary>
        /// <pdGenerated>Default opposite class collection property</pdGenerated>
        public System.Collections.Generic.List<ConsultaMedica> ConsultasMedicas
        {
            get
            {
                if (consultasMedicas == null)
                    consultasMedicas = new System.Collections.Generic.List<ConsultaMedica>();
                return consultasMedicas;
            }
            set
            {
                RemoveAllAtencionMedica();
                if (value != null)
                {
                    foreach (ConsultaMedica oAtencionMedica in value)
                        AddAtencionMedica(oAtencionMedica);
                }
            }
        }

        /// <summary>
        /// Add a new AtencionMedica in the collection
        /// </summary>
        /// <pdGenerated>Default Add</pdGenerated>
        public void AddAtencionMedica(ConsultaMedica newAtencionMedica)
        {
            if (newAtencionMedica == null)
                return;
            if (this.consultasMedicas == null)
                this.consultasMedicas = new System.Collections.Generic.List<ConsultaMedica>();
            if (!this.consultasMedicas.Contains(newAtencionMedica))
                this.consultasMedicas.Add(newAtencionMedica);
        }

        /// <summary>
        /// Remove an existing AtencionMedica from the collection
        /// </summary>
        /// <pdGenerated>Default Remove</pdGenerated>
        public void RemoveAtencionMedica(ConsultaMedica oldAtencionMedica)
        {
            if (oldAtencionMedica == null)
                return;
            if (this.consultasMedicas != null)
                if (this.consultasMedicas.Contains(oldAtencionMedica))
                    this.consultasMedicas.Remove(oldAtencionMedica);
        }

        /// <summary>
        /// Remove all instances of AtencionMedica from the collection
        /// </summary>
        /// <pdGenerated>Default removeAll</pdGenerated>
        public void RemoveAllAtencionMedica()
        {
            if (consultasMedicas != null)
                consultasMedicas.Clear();
        }
    }
}
